package user;
//管理员和普通用户有相同的属性和操作，所以可以抽象出来

import book.Book;
import book.BookList;
import operation.IOperation;

public abstract class User {
    public String name;
    public IOperation[] ioperations;//没有初始化，等到具体的身份中再初始化
    public User(String name) {
        this.name = name;
    }

    public abstract int menu();//普通用户和管理员都有菜单
                              // 这里面写一个菜单不实现，后面管理员普通用户可以重写成自己的菜单

    public void doOperations(int choice, BookList books){
        //this.ioperations[choice];ioperation在这并没有初始化
        IOperation iOperation=this.ioperations[choice];
        iOperation.work(books);//如果拿到的是FindBook，则调用FindBook的work方法

    }

}
